# coding- utf-8

# main主函数调用说明
import threading
# time.time() 是时间戳，用来计算时间运行时间也行
import time
# datetime 函数用于返回当前时间，常用于两个实际时间差的运算
import datetime

def greet(index):
    # 变量对应%跟C类似
    print('hello world -%d' % index)
    # 休整几秒time函数

def line_run():
    t1 = time.time()
    for x in range(5):
        greet(x)

    t2 = time.time()
    print('这是单线程所需花费时间')
    print(t2 - t1)

def async_run():
    t1 = datetime.datetime.now()
    for x in range(5):
        # 设置多线程，参数前者是函数，后者是变量参数
        print('现在多线程在运行%s' %x)
        th = threading.Thread(target=greet,args=[x])
        # 开启线程
        th.start()
    t2 = datetime.datetime.now()
    print('这是多线程所需花费时间')
    print(t2 - t1)

# 设置主函数main
if __name__ == "__main__":
    line_run()
    async_run()

# conclusion 如果一个函数本身运行很快，单线程的时间是比多线程快的，相反一个函数数据量大运行时间长，多线程的优势就体现出来了